《Android 应用 之路》 百度地图API使用(2)

简介

上一篇只是大致的提一下百度地图API的Android SDK的基本内容,然后抄袭一个官网上的Demo,今天看一下百度地图的第一部分,地图类型和基本的显示。

简单实战

不同类型地图的显示

这里写图片描述

1
2
3
4
5
6
7
8
9
//设置地图类型
//public static final int MAP_TYPE_NORMAL = 1; 普通地图
//public static final int MAP_TYPE_SATELLITE = 2; 卫星地图
//public static final int MAP_TYPE_NONE = 3; 空白地图
private void setMapType(int type) {
if (mBaiduMap != null) {
mBaiduMap.setMapType(type);
}
}
  • 空白地图
    这里写图片描述

  • 正常地图
    这里写图片描述

  • 卫星地图
    这里写图片描述

实时交通图和百度城市热力图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
实时交通图
false- > 不开启
true -> 开启
*/
private void setTrafficMap(boolean enabled) {
if (mBaiduMap != null) {
mBaiduMap.setTrafficEnabled(enabled);
}
}

/*
百度城市热力图
false- > 不开启
true -> 开启
*/
private void setHeatMap(boolean enabled) {
if (mBaiduMap != null) {
mBaiduMap.setBaiduHeatMapEnabled(enabled);
}
}
  • 实时交通图
    这里写图片描述
    (此图是在地图类型为空白地图时显示的)

  • 百度城市交通热力图
    这里写图片描述

地图控制和手势

地图控制
地图Logo
默认在左下角显示,不可以移除。
通过mMapView.setLogoPosition(LogoPosition.logoPostionleftBottom);方法,使用枚举类型控制显示的位置,共支持6个显示位置(左下,中下,右下,左上,中上,右上)。
地图Logo不允许遮挡,可通过mBaiduMap.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);方法可以设置地图边界区域,来避免UI遮挡。
其中参数paddingLeft、paddingTop、paddingRight、paddingBottom参数表示距离屏幕边框的左、上、右、下边距的距离,单位为屏幕坐标的像素密度。
指南针
指南针默认为开启状态,可以关闭显示 。
比例尺
比例尺默认为开启状态,可以关闭显示。同时支持设置MaxZoomLevel和minZoomLevel,可通过mMapView.getMapLevel获取当前地图级别下比例尺所表示的距离大小。

具体的显示位置和内容如下
这里写图片描述
备注:指南针旋转地图的时候才会出现,一开始加载的时候是不会出现的

地图平移控制是否启用或禁用平移的功能,默认开启。如果启用,则用户可以平移地图
地图缩放控制是否启用或禁用缩放手势,默认开启。如果启用,用户可以双指点击或缩放地图视图。
地图俯视(3D)控制是否启用或禁用俯视(3D)功能,默认开启。如果启用,则用户可使用双指 向下或向上滑动到俯视图。
地图旋转控制是否启用或禁用地图旋转功能,默认开启。如果启用,则用户可使用双指 旋转来旋转地图。
禁止所有手势控制是否一并禁止所有手势,默认关闭。如果启用,所有手势都将被禁用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
mUiSettings = mBaiduMap.getUiSettings();
setSizeByBoolean(fabZoom, mUiSettings.isZoomGesturesEnabled());
setSizeByBoolean(fabZoom, mUiSettings.isZoomGesturesEnabled());
setSizeByBoolean(fabScroll, mUiSettings.isScrollGesturesEnabled());
setSizeByBoolean(fabOverlook, mUiSettings.isOverlookingGesturesEnabled());
setSizeByBoolean(fabRotate, mUiSettings.isRotateGesturesEnabled());
setSizeByBoolean(fabCompass, mUiSettings.isCompassEnabled());


private void setSizeByBoolean(FloatingActionButton fab , boolean bl) {
if(bl) {
fab.setButtonSize(FloatingActionButton.SIZE_NORMAL);
} else {
fab.setButtonSize(FloatingActionButton.SIZE_MINI);
}
}

public void onClick(View view) {
...
case R.id.fab_zoom:
if (mUiSettings.isZoomGesturesEnabled()) {
mUiSettings.setZoomGesturesEnabled(false);
fabZoom.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setZoomGesturesEnabled(true);
fabZoom.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
case R.id.fab_scroll:
if (mUiSettings.isScrollGesturesEnabled()) {
mUiSettings.setScrollGesturesEnabled(false);
fabScroll.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setScrollGesturesEnabled(true);
fabScroll.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
case R.id.fab_rotate:
if (mUiSettings.isRotateGesturesEnabled()) {
mUiSettings.setRotateGesturesEnabled(false);
fabRotate.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setRotateGesturesEnabled(true);
fabRotate.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
case R.id.fab_overlook:
if (mUiSettings.isOverlookingGesturesEnabled()) {
mUiSettings.setOverlookingGesturesEnabled(false);
fabOverlook.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setOverlookingGesturesEnabled(true);
fabOverlook.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
case R.id.fab_compass:
if (mUiSettings.isCompassEnabled()) {
mUiSettings.setCompassEnabled(false);
fabCompass.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setCompassEnabled(true);
fabCompass.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
...
}
  • 实际结果
    这里写图片描述
    (好像并不能从图里看出什么呵 - - !)
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×